#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# 文档注释：任何模块代码的第一个字符串都被视为模块的文档注释
'a test module'

# 作者
__author__ = 'xhp'

"""
模块
"""

import sys
def test():
    args = sys.argv
    if len(args) == 1:
        print('Hello, world!')
    elif len(args) == 2:
        print('Hello, %s!' % args[1])
    else:
        print('Too many arguments!')

# 表示if下面的代码将在模块作为主程序运行时被执行，而在模块被导入时被忽略。
if __name__ == '__main__':
    test()


# 作用域：单下划线 _ 主要用于临时变量、占位符或表示模块级私有成员，而双下划线 __ 通常用于实现魔术方法、特殊属性以及通过名称改写实现类的内部封装。
# Python并没有一种方法可以完全限制访问private函数或变量，但是，从编程习惯上不应该引用private函数或变量。
def _private_1(name):
    return 'Hello, %s' % name

def _private_2(name):
    return 'Hi, %s' % name

def greeting(name):
    if len(name) > 3:
        return _private_1(name)
    else:
        return _private_2(name)
